The World Wide Web includes a network of servers on the Internet, each of which is associated with one or more HTML (Hypertext Markup Language) pages. The HTML pages associated with a server provide information and hypertext links to other documents on that and (usually) other servers. Servers communicate with clients by using the Hypertext Transfer Protocol (HTTP). The servers listen for requests from clients for their HTML pages, and are therefore often referred to as “listeners”.
Users of the World Wide Web use a client program, referred to as a browser, to request, decode and display information from listeners. When the user of a browser selects a link on an HTML page, the browser that is displaying the page sends a request over the Internet to the listener associated with the Universal Resource Locator (URL) specified in the link. In response to the request, the listener transmits the requested information to the browser that issued the request. The browser receives the information, presents the received information to the user, and awaits the next user request.
Traditionally, the information stored on listeners is in the form of static HTML pages. Static HTML pages are created and stored at the listener prior to a request from a web browser. In response to a request, a static HTML page is merely read from storage and transmitted to the requesting browser. Currently, there is a trend to develop listeners that respond to browser requests by performing dynamic operations. For example, a listener may respond to a request by issuing a query to a database, dynamically constructing a web page containing the results of the query, and transmitting the dynamically constructed HTML page to the requesting browser.
Another trend is to expand Internet access to devices other than conventional computer systems. For example, wireless phones have been developed that include embedded web browsers. Due to size and cost constraints, the “micro browsers” contained in these devices have very limited functionality relative to the browsers that have been developed for full-fledged computer systems. However, devices with embedded micro browsers are usable in circumstances under which using a conventional computer system is impractical.
The number of device types that are able to display web content, in one form or another, continues to increase. As the number of such web-enabled device types increases, so does the variation in the capabilities of the devices. For example, general purpose computer systems compensate for their immobility by providing large color screens, sophisticated sound output, significant processing power, ergonomic keyboard input, and an easy-to-use selection device such as a mouse, track ball, or track pad. Conversely, small mobile devices achieve their portability at the expense of screen size and user-input ease-of-use.
The World Wide Web contains far more content than can be displayed on any given device. Consequently, mechanisms have been provided that allow users of web-enabled devices to specify the content that they desire to see. Traditionally, the user of a web-enabled device uses the user-input mechanism of the web-enabled device to specify the content to be displayed on the web-enabled device. This practice works well when the web-enabled device is a general purpose computer system with sophisticated easy-to-use input mechanisms. Unfortunately, when the web-enabled device is a mobile phone with only a few buttons for receiving user input, the process of specifying content becomes awkward and tedious.
One approach to avoiding the tedious process of using the input mechanism of a mobile device to specify web content for the mobile device involves the use of a general purpose computer for specifying the sources, applications, or services to access from the mobile device. The interface presented to the computer for receiving the user input by which the user selects the desired content sources and applications may itself be presented in the form of one or more web pages.
While this approach eliminates the difficulty associated with using the user interface of the mobile device, it raises other problems. Specifically, the ultimate appearance of information on a mobile device is typically a major factor in deciding what should be displayed on a mobile device. If the decision of what to display on a mobile device is made without taking into account how that information will appear, the results may be completely unacceptable. For example, a user may specify that the news page sent to the mobile device include sound and photos. However, the sound and video capabilities of the device may be such that the sound played by the device is unintelligible, and the photos appear on the device as black boxes.
To ensure that the ultimate appearance of the information will be acceptable, a user may engage in the iterative process of (1) using the general purpose computer to specify the web content for the mobile device, (2) accessing the content from the mobile device, (3) based on the appearance of the content on the mobile device, using the general purpose computer to make adjustments to the web content for the mobile device, and (4) repeating steps (2) and (3) until the appearance of the selected web content on the mobile device is acceptable to the user.
Unfortunately, such an iterative process may be just as tedious as attempting to use the user interface of the mobile device to specify the web content. Further, the process becomes particularly laborious when a user must go through it for each of multiple mobile devices owned by the user.
Based on the foregoing, it is clearly desirable to provide improved techniques for specifying web content to be displayed on web-enabled devices that have relatively restrictive display and/or input mechanisms.